package com.xxx.yuedong.mine.service;

import com.xxx.yuedong.community.pojo.Dynamic;
import com.xxx.yuedong.mine.controller.form.UpdatePhoneForm;
import com.xxx.yuedong.mine.pojo.Address;
import com.xxx.yuedong.mine.pojo.User;
import com.xxx.yuedong.mine.pojo.vo.*;

import java.util.List;
import java.util.Set;
/**
 *
 * @Author Lry
 * @Date 2023-08-02
 */
public interface CommonService {
    //获取主页用户信息
    UserVO queryUserInfo(Long userId);
    //修改用户信息
    void updateUserInfo(User user);
    //查询动态列表
    List<Dynamic> queryDynamicList(Long userId);
    //查询关注列表
    List<FollowVO> queryFollowList(Long userId);
    //关注用户
    void followUser(Long fromId, Long toId);
    //查询粉丝列表
    List<FansVO> queryFansList(Long userId);
    //查询运动生涯数据
    RunVO querySportsCareerData(Long userId);
    //查询我的计划
    List<PlanVO> queryMyPlan(Long userId, String date);
    //查询我收藏的课程
    List<CollectVO> queryMyCollect(Long userId,String tag);
    //查询我收藏的课程标签
    Set<String> queryMyCourseTags(Long userId);
    //收藏课程
    void collectCourse(Long userId, Long courseId);
    //查询课程详情
    CourseVO queryCourseDetail(Long userId, Long courseId);
    //查询订单列表
    List<OrderVO> queryOrderList(Long userId);
    //修改手机号
    void updatePhone(UpdatePhoneForm phoneForm);
    //查询用户喜欢的动态数量
    Integer queryUserLikeDynamicNum(Long userId);
    //查询用户喜欢的动态列表
    List<Dynamic> queryUserLikeDynamicList(Long userId);
    //查询自己的地址信息
    List<AddressVO> queryMyAddress(Long userId);
    //添加地址信息
    void saveAddress(Address address);
    //修改地址信息
    void updateAddress(Address address);
    //删除地址信息
    void deleteAddress(Long id);

}
